网络表征学习在微信平台的应用

阅读量:362
孙仕杰,易玲玲

基于网络表征学习特征表达的机器学习框架

网络表征学习(network embedding)的目标是为网络中的每个节点学习一个特征表达。目前学术界已经有非常多的网络表征学习算法。文献[1]对此进行了综述。Deepwalk[4]Node2vec[7]这两个算法主要用于网络局部信息的表达,如何在游走中选择邻居以及预设窗口大小是这两个算法的关键,直接影响特征表达的物理含义。这两个算法适用于描述用户的ego-network,比如计算好友间的社交相似性或者好友影响力,适用于好友推荐、用户的ego-network的社团划分、微信游戏的好友邀请策略、微信朋友圈广告推荐等业务。LINE[6]SDNE[2]算法也是网络局部信息的表达,他们同时考虑节点之间的一阶关系和二阶关系,其使用场景与Deepwalk或者Node2vec相同。HOPE[3]算法的目标是为节点表达更为全局化的网络信息,适用于描述微信网络的全局特征。HNE-DA[5]算法是基于深度学习模型(deep model)方法对异构信息网络进行表达,Metapath2vec[9]是基于node2vec改进的异构信息网络的网络表征学习算法,这两种算法都适用于微信的异构信息网络;Struc2vec[8]的算法目标是为了表达节点的网络位置(节点中心性),该算法适用于关键节点挖掘、信息传播研究等场景。基于这些算法,我们根据微信的数据特性以及业务需求进行了算法适配和调参,实现了多种网络表征学习算法,建立了基于网络表征学习特征表达的机器学习应用框架。见图1

模块1:基础数据层。主要是输入网络数据,比如说好友关系数据。对于一些兴趣行为数据,也可以转换成为网络数据作为输入。

模块2:网络表征学习算法层。目前该层提供了矩阵分解、LineNode2vecDeepwalkmetapath2vec这几种算法,工程师可以根据自己的网络特征以及业务场景进行选择。

模块3:模型层。在网络表征学习算法层,实现的算法都是无监督算法。应用到不同的机器学习任务上,需要做特征交叉和特征选择。在模型层,系统封装了FMxgboostdeep&wide modelHNN(Holistic Neural Network)FNN以及LR算法。以HNN为例,网络表征学习产出的特征的应用架构如图2所示,模型框架融合了网络表征学习特征以及常用的人工设计的特征,进行业务建模。

在模型层使用同一个算法的前提下,相对原先以人工设计特征为主的特征表达方法,网络表征学习的产出特征使得多个业务的相关性能得到较好的提升。在社交lookalike广告项目中,用户点击率提升约15%;在微信表情推荐项目中,用户下载量提升6%以上;在游戏好友邀请下载的项目中,下载量提升5%。另外,对于社交关系网络的特征表达,可以复用到不同的社交推荐场景中,提高了工作效率。

会员登录后可下载全文

中国计算机学会(CCF)拥有《中国计算机学会通讯》(CCCF)所刊登内容的所有版权,未经CCF允许,不得转载本刊文字及照片,否则被视为侵权。对于侵权行为,CCF将追究其法律责任。
<<< 上一篇   无
读完这篇文章后,您心情如何?

作者介绍

孙仕杰

  • 腾讯微信事业群高级工程师
  • 研究方向:超大数据量级下复杂机器学习算 法实现、后台服务系统架构等
  • cedricsun@tencent.com

易玲玲

  • 腾讯微信事业群专家研究员
  • 研究方向:社交网络分析研究及其应用、社 交推荐、机器学习、数据挖掘等
  • chrisyi@tencent.com